﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using BookStore.Solution.Entities;
using BookStore.Solution.BLL;

namespace BookStore.Solution.Presentation
{
    public partial class frmLogin : DevComponents.DotNetBar.OfficeForm
    {
        public bool isLogin = false;
        public frmLogin()
        {
            InitializeComponent();
        }

        private void frmLogin_Load(object sender, EventArgs e)
        {

        }

        private void btnSignIn_Click(object sender, EventArgs e)
        {
            ResetBorderColor();
            if (!CheckEmpty())
            {
                string result = CheckValidated();
                if (result == "Đăng nhập thành công")
                {
                    isLogin = true;
                    Close();
                }
                else
                {
                    if (result == "Tài khoản đang đăng nhập ở thiết bị khác")
                        MessageBox.Show("Tài khoản đang đăng nhập ở thiết bị khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
                    else
                        if (result == "Tài khoản bị khóa")
                            MessageBox.Show("Tài khoản bị khóa", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
                        else
                            MessageBox.Show("Sai tên đăng nhập hoặc mật khẩu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                    isLogin = false;
                }
            }
            else
            {
                isLogin = false;
                MessageBox.Show("Tên đăng nhập hoặc mật khẩu không đúng định dạng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            Close();
        }

        private bool CheckEmpty()
        {
            bool t = false;
            if (txtUserName.Text == "")
            {
                t = true;
                txtUserName.Border.BorderColor = Color.Red;
            }
            if (txtPassword.Text.Length > 32 || txtPassword.Text.Length < 8)
            {
                t = true;
                txtPassword.Border.BorderColor = Color.Red;
            }
            return t;
        }

        private string CheckValidated()
        {
            Account account = new Account();
            account.UserName = txtUserName.Text;
            account.Password = txtPassword.Text;
            return AccountManager.LogIn(account);
        }
        private void ResetBorderColor()
        {
            txtPassword.Border.BorderColor = StyleManager.ColorTint;
            txtUserName.Border.BorderColor = StyleManager.ColorTint;
        }

        private void txtPassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                btnSignIn.PerformClick();
        }
    }
}